Drinking from Both Glasses: Adaptively Combining Pessimistic and Optimistic Synchronization for Efficient Parallel Runtime Support

نویسندگان

  • Man Cao
  • Minjia Zhang
  • Michael D. Bond
چکیده

It is notoriously challenging to achieve parallel software systems that are both scalable and reliable. Parallel runtime support—such as multithreaded record & replay, data race and atomicity violation detectors, transactional memory, and support for stronger memory models—helps achieve these goals, but existing commodity solutions slow programs substantially in order to capture (track or control) the program’s cross-thread dependences accurately. Capturing cross-thread dependences using “pessimistic” synchronization slows every program access, while “optimistic” synchronization allows for lightweight instrumentation of most accesses but dramatically slows accesses involved in cross-thread dependences. This paper introduces (1) a hybrid of pessimistic and optimistic synchronization and (2) an adaptive policy that enables finegrained switching between pessimistic and optimistic synchronization based on program behavior. The adaptive policy uses online profiling and a cost–benefit model to inform its decisions. We design a dependence recorder on top of our approach to demonstrate its feasibility as a framework for efficient parallel runtime support. We have implemented our approach in a high-performance Java virtual machine and show that it outperforms parallel runtime support based solely on pessimistic or optimistic synchronization. These results show the potential for adaptive, hybrid synchronization for efficient parallel runtime support in commodity systems.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Most Revenue Efficiency with Price Uncertainty

    In this paper, a new revenue efficiency data envelopment analysis (RE-DEA) approach is considered for finding the most revenue efficient unit with price uncertainty in both optimistic and pessimistic perspectives. The optimistic and pessimistic perspectives use efficient frontier and inefficient frontier, respectively. An integrated model is introduced to find decision making units (DMUs) t...

متن کامل

Using Abstract Interpretation to Correct Synchronization Faults

We describe a novel use of abstract interpretation in which the abstract domain informs a runtime system to correct synchronization failures. To this end, we first introduce a novel synchronization paradigm, dubbed corrective synchronization, that is a generalization of existing approaches to ensuring serializability. Specifically, the correctness of multi-threaded execution need not be enforce...

متن کامل

An Improvement for Efficiency Interval: Efficient and Inefficient Frontiers

The performances of decision-making units (DMUs) can be evaluated from two different points of view optimistic and pessimistic and accordingly, two different efficiencies can be calculated for each DMU: the best relative efficiency and the worst relative efficiency. In the conventional methods of data envelopment analysis (DEA), only the best relative efficiency is evaluated. It is argued h...

متن کامل

Maisie: A Language for the Design of Efficient Discrete-Event Simulations

Maisie is a C-based discrete-event simulation language that was designed to cleanly separate a simulation model from the underlying algorithm (sequential or parallel) used for the execution of the model. With few modi cations, a Maisie program may be executed using a sequential simulation algorithm, a parallel conservative algorithm or a parallel optimistic algorithm. The language constructs al...

متن کامل

University of Delaware Department of Electrical and Computer Engineering Computer Architecture and Parallel Systems Laboratory Synchronization for Dynamic Task Parallelism on Manycore Architectures

Manycore architectures –hundreds to thousands of cores per processor – are seen by many as a natural evolution of multicore processors. To take advantage of this massive parallelism in reality requires a productive programming interface for parallel programming, and an efficient execution and thread coordination runtime. Dynamic task parallelism, introduced recently in several programming langu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014